//package cn.kgc.mes.storage.business;
//
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.baomidou.mybatisplus.core.metadata.IPage;
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.baomidou.mybatisplus.core.toolkit.Wrappers;
//import cn.kgc.mes.common.utils.StringUtils;
//import org.springframework.stereotype.Component;
//import cn.kgc.mes.common.core.plus.dto.common.CommonDataPageResponse;
//import cn.kgc.mes.common.core.plus.dto.page.PageDtoRequest;
//import cn.kgc.mes.common.core.plus.dto.page.PageDtoResponse;
//import cn.kgc.mes.common.core.plus.response.StatusResponse;
//import org.springframework.beans.BeanUtils;
//
//import jakarta.annotation.Resource;
//import java.util.ArrayList;
//import java.util.List;
//
//import cn.kgc.mes.storage.domain.vo.WarehouseVo;
//
///**
// * 仓库设置业务
// *
// * @author ydw
// * @date 2025-09-12
// */
//@Component
//public class WarehouseBusiness {
//
//    @Resource
//    WarehouseService settingService;
//
//
//    /**
//     * 分页
//     *
//     * @param vo
//     * @return
//     */
//    public CommonDataPageResponse<WarehouseVo> page(WarehouseVo vo) {
//        CommonDataPageResponse<WarehouseVo> response = new CommonDataPageResponse<>();
//
//        //分页
//        Long current = 1L;
//        Long size = 10L;
//
//        PageDtoRequest reqPageDto = vo.getPageDto();
//        if (reqPageDto != null) {
//            current = reqPageDto.getCurrent() != null ? reqPageDto.getCurrent() : 1L;
//            size = reqPageDto.getSize() != null ? reqPageDto.getSize() : 10L;
//        }
//
//        Page page = new Page<>(current, size);
//
//        LambdaQueryWrapper<Warehouse> queryWrapper = Wrappers.lambdaQuery();
//
//        queryWrapper.like(StringUtils.hasText(vo.getWarehouseCode()), Warehouse::getWarehouseCode, vo.getWarehouseCode());
//
//        queryWrapper.like(StringUtils.hasText(vo.getWarehouseName()), Warehouse::getWarehouseName, vo.getWarehouseName());
//
//        queryWrapper.eq(StringUtils.hasText(vo.getLocation()), Warehouse::getLocation, vo.getLocation());
//
//        queryWrapper.eq(StringUtils.hasText(vo.getCharge()), Warehouse::getCharge, vo.getCharge());
//
//        queryWrapper.eq(StringUtils.hasText(vo.getEnableFlag()), Warehouse::getEnableFlag, vo.getEnableFlag());
//
//
//
//        queryWrapper.orderByDesc(Warehouse::getWarehouseId);
//
//        IPage<Warehouse> pageRecords = settingService.page(page, queryWrapper);
//
//        //分页记录
//        List<Warehouse> records = pageRecords.getRecords();
//        //转为vo
//        List<WarehouseVo> voList = new ArrayList<>();
//        for (Warehouse record : records) {
//            WarehouseVo settingVo  = new WarehouseVo();
//
//            BeanUtils.copyProperties(record, settingVo);
//
//            voList.add(settingVo);
//        }
//        response.setRecords(voList);
//
//        //分页信息
//        PageDtoResponse pageDto = new PageDtoResponse();
//        pageDto.setCurrent(current);
//        pageDto.setSize(size);
//        pageDto.setTotal(pageRecords.getTotal());
//        pageDto.setPages(pageRecords.getPages());
//
//        response.setPageDto(pageDto);
//
//        return response;
//    }
//
//    /**
//     * 信息
//     *
//     * @param vo
//     * @return
//     */
//    public WarehouseVo info(WarehouseVo vo) {
//
//        WarehouseVo settingVo = new WarehouseVo();
//
//        Long warehouseId = vo.getWarehouseId();
//
//        Warehouse record = settingService.getById(warehouseId);
//
//        BeanUtils.copyProperties(record, settingVo);
//
//        return settingVo;
//    }
//
//    /**
//     * 添加
//     *
//     * @param vo
//     * @return
//     */
//    public StatusResponse add(WarehouseVo vo) {
//        StatusResponse response = new StatusResponse();
//
//        Warehouse record = new Warehouse();
//
//        BeanUtils.copyProperties(vo, record);
//
//        settingService.save(record);
//
//        response.setSuccess(true);
//
//        return response;
//    }
//
//    /**
//     * 更新
//     *
//     * @param vo
//     * @return
//     */
//    public StatusResponse update(WarehouseVo vo) {
//        StatusResponse response = new StatusResponse();
//
//        Warehouse record = new Warehouse();
//
//        BeanUtils.copyProperties(vo, record);
//
//        settingService.updateById(record);
//
//        response.setSuccess(true);
//
//        return response;
//    }
//
//    /**
//     * 删除
//     *
//     * @param vo
//     * @return
//     */
//    public StatusResponse delete(WarehouseVo vo) {
//        StatusResponse response = new StatusResponse();
//
//        Long warehouseId = vo.getWarehouseId();
//
//        settingService.removeById(warehouseId);
//
//        response.setSuccess(true);
//
//        return response;
//    }
//
//}
